fix(schema-compiler): render MSSQL pushdown joins - #11778
Conversation
|
/bot-deep-review |
|
@davidda could you please rebase this on latest master? Thanks |
2138a39 to
8e8c9dc
Compare
|
@MazterQyou rebase done |
|
/bot-deep-review |
|
Claude finished @MazterQyou's task in 5m 4s —— View job ✅ Fix is correct and minimal — 0 high, 1 medium, 2 low, all in the testFull review
The fix
Nothing to raise on security (no user input path — this is a static template string), performance, or docs (a dialect bug fix needs none; changelogs are Lerna-managed). Findings
The two-line comment at Integration coverageI checked whether an existing driver test could be unskipped as real proof. LimitationsI could not execute No prior review threads existed on this PR, so nothing to resolve or deduplicate against. |
8e8c9dc to
7a78ac1
Compare
|
/bot-deep-review |
|
Claude finished @MazterQyou's task in 7m 12s —— View job Deep review complete — fix is correct and minimal; 0 high, 0 medium, 2 low (both on the new test, neither blocking)Review detailVerdictThe one-line change is right. What I verified beyond the diff
Findings
Both are posted inline with suggested directions. Neither affects the shipped fix. Review threadsNothing to reconcile: this PR has exactly two review threads, both on the now-deleted Task list
|
|
/bot-deep-review |
|
Claude finished @MazterQyou's task in 8m 42s —— View job Deep review — PR #11778Fix is correct and complete for #11777. 0 blocking, 1 low (posted inline), 2 notes. Full review
The fix
FindingsLow — Notes (not posted inline)
Verification caveatAssertions above come from reading the templates and both renderers, not from a green run — Review threadsThe listing returned 4 threads opened by |
Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
6810a8d to
5c6a6f0
Compare
|
/bot-deep-review |
|
Claude finished @MazterQyou's task in 6m 19s —— View job Approve — fix is correct and complete. 0 high, 0 medium, 1 low (doc-comment accuracy, posted inline).Full review
The fix
MSSQL was the only dialect in the package missing it, so all 17 now satisfy the invariant. Placement matches the other three: after the Two things I checked that could have made this the wrong fix: No pushdown guard exists. No Tesseract regression. The Tests
FindingOne low-severity issue posted inline on Not verified
Review threadsThe listing returned 0 unresolved threads (0 of them mine) across both pages — the earlier |
|
/bot-deep-review |
|
Claude finished @MazterQyou's task in 7m 25s —— View job Approve — fix is correct and minimal. 0 high, 0 medium, 1 low.Deep review — full detail
Verdict
Confirmed the two consumers behave as the test's header comment claims:
Checked the other dialects that override Test
Traced the four regexes by hand against every schema-compiler
Drop the one-line fix and only Not executed: the package has no Finding
Not raised inline
I also withdrew a concern about the Review threadsListing returned 1 thread of mine (single page). Resolved 1 ( |
|
/bot-deep-review |
|
Claude finished @MazterQyou's task in 6m 5s —— View job Approved — no findings (0 high, 0 medium, 0 low); fix matches the base template and is the only remaining
|
| Dialect | Site |
|---|---|
OracleQuery |
packages/cubejs-schema-compiler/src/adapter/OracleQuery.ts:245 |
PrestodbQuery |
packages/cubejs-schema-compiler/src/adapter/PrestodbQuery.ts:204 |
PinotQuery |
packages/cubejs-pinot-driver/src/PinotQuery.ts:230 |
QuestQuery |
packages/cubejs-questdb-driver/src/QuestQuery.ts:311 |
The last two sit outside allDialects()' scan, which is exactly what the reworded doc at packages/cubejs-schema-compiler/test/unit/allDialects.ts:11-17 now says. Since both render the loop correctly today, the uncovered set holds no live defect, and extending discovery across packages stays out of scope as agreed.
Test
packages/cubejs-schema-compiler/test/unit/select-template.test.ts follows the established union-template.test.ts pattern — templates read off a bare prototype, asserted over allDialects(). Hand-checked the four regexes against each template that exists in the scanned directory (base, Oracle, Prestodb, MSSQL): all four match, and both ordering assertions hold, including Oracle's ) {{ from_alias }} with no AS and Prestodb's extra space before {% elif %}. Dropping the one-line fix makes expect(select).toMatch(joins) fail for MssqlQuery and nothing else, so the test does gate the regression it was written for. No dialect deletes statements.select, so the unconditional assertion (unlike the union test's opt-out branch) is correct.
The comments in the new file are 2 lines and 1 line — within budget, and both load-bearing: the first records which planner reads the loop, which is the fact that makes the test necessary at all.
Not verified by execution: yarn install has not run in this checkout (no node_modules/.bin/jest, no packages/cubejs-schema-compiler/dist) and the sandbox blocks node, so I could not run the suite. The regex verification above is by hand against the template strings, not a test run. CI is the authority on the run itself.
Review threads
The thread listing returned 0 unresolved threads (0 of them mine) — every thread from earlier rounds is already resolved, so nothing to resolve and nothing to re-affirm. Two positions from earlier rounds are recorded here rather than on their (already-resolved) threads: the FROM-branch anchors at select-template.test.ts:10-11 remain a coupling I'd have written differently, but the author's rationale holds and it is not worth another round; the cosmetic select.search(...) re-scan at select-template.test.ts:19-23 I withdraw outright — the author is right that the forms are equivalent.
Nit, non-blocking
Commit 5c6a6f0 is titled Update packages/cubejs-schema-compiler/test/unit/allDialects.ts, which isn't a conventional-commit subject per the repo's CLAUDE.md. Harmless if this lands as a squash under the PR title.
|
@davidda thanks for the contribution! The fix will be available in v1.7.44 onward. |
Check List
Issue Reference this PR resolves
#11777